package com.thiswhyme.stream.rabbit.producer.channel;

import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.MessageChannel;

/**
 * @description: message output通道
 * @author: thiswhyme
 * @date: 2020/9/16
 */
public interface OutputChannel {

    String OUTPUT_CHANNEL_LOG = "logOutputChannel";

    String OUTPUT_CHANNEL_PARTITION = "partitionOutputChannel";

    String OUTPUT_CHANNEL_DELAY = "delayOutputChannel";

    String OUTPUT_CHANNEL_MANUAL = "manualOutputChannel";

    String OUTPUT_CHANNEL_TOPIC_ROUTE = "topicRouteOutputChannel";

    String OUTPUT_CHANNEL_CONFIRM = "confirmOutputChannel";

    @Output(OUTPUT_CHANNEL_LOG)
    MessageChannel logOutputChannel();

    @Output(OUTPUT_CHANNEL_PARTITION)
    MessageChannel partitionOutputChannel();

    @Output(OUTPUT_CHANNEL_DELAY)
    MessageChannel delayOutputChannel();

    @Output(OUTPUT_CHANNEL_MANUAL)
    MessageChannel manualOutputChannel();

    @Output(OUTPUT_CHANNEL_TOPIC_ROUTE)
    MessageChannel topicRouteOutputChannel();

    @Output(OUTPUT_CHANNEL_CONFIRM)
    MessageChannel confirmOutputChannel();
}
